今天宠物迷的小编给各位宠物饲养爱好者分享猜数程序设置的宠物知识,其中也会对如何猜数游戏C语言程序设计?(c语言猜数字游戏程序设计)进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!
编程如下: #include #include #include int main(int argc, char * argv[]) { srand((unsigned)time(NULL)); int a = rand()%100; a+=1; int b,c; c = 0; while (c { printf("Please enter a number: "); if (scanf("%d", &b) == 0) { fprintf(stderr, "Invalid entry.\n"); return EXIT_FAILURE; } else { if (b == a) { printf("You are correct, the number is %d!\n", a); printf("You used %d times to get the answer.\n", c); break; } else if (b >a) printf("The number is bigger than it suppose to.\n"); else printf("The number is smaller than it suppose to.\n"); c++; } if (c == 10) { printf("You used 10 times, please try again!\n"); break; } } return EXIT_SUCCESS; } 编程的注意事项: 1、程序不仅需要给计算机读 , 也要给程序员读。 程序设计风格的原则 , 代码应该清楚的和简单的 , 具有直截了当的逻辑 , 自然的表达式 , 通行的语言使用方式 , 有意义的名字和帮助作用和注释。 2、自定义类型名以大写字母开头,各单词之间以大写字母分隔,如 CallType (即骆驼式命 名法) 。 变量名以小写字母开头, 各单词之间以大写字母 分隔 (变量活动范围前缀以下划线 分隔) ,如 m_pReleaseIn。函数名以大写字母开头,各单词之间以大写字母分隔(进程、进 程页及子函数前缀以下划 线分隔) ,如 Sub_ErrorDealing。 3、命名宏定义时,表示最大个数时定义为 XXX_MAX_NUM(如最大子节点个数可用 SNODE_MAX_NUM表示) ,表示最大取值时定义为 XXX_MAX(如 PT 板 E1的最大取值 可用 PT_E1_MAX表示) 。定义最小个数时定义为 XXX_MIN_NUM,定义最小取值时定义 为 XXX_MIN。 (以防止下标使用时难以分辨是否需要减 1) 。
以下是我对你的代码进行的略微修改使其满足你的需要,我在c++编译器下编译过了,我不知道你用的是什么编译器,
但是具体的实现方法我想你应该能够看得懂的,希望我的修改对你有所帮助……
#include "stdafx.h"
#include "stdlib.h"
#include "time.h"
int main()
{ int i=0,g=0,m;
char c;
srand(time(NULL));
int n=rand();
n=n%100+1;
do
{
while(scanf("%d",&g))
{
if(g<n)
{
printf("太小\n");
i++;
}
else if(g>n)
{
printf("太大\n");
i++;
}
else
{
printf("对了!\n猜%d次成功!\n",++i);
i=0;
break;
}
if(i==20)/*当次数达到20的时候提示换值 */
n= n=rand()%100+1;//*有一个新的值,此值介于1-100之间*/
}
}
printf("继续否?");
scanf(" %c",&c);
}
while(c=='y'||c=='Y');
return 0;
}
#include #include int main(){ int n=10;//次数 int temp;//随机数据 int num;//输入数据 srand((int)time(0)); temp = rand()%899+100; while(n--) { printf("输入一个100~999之间的数:"); scanf("%d",&num); if(num>temp) printf("数大了\n"); else if(num<temp) printf("数小了\n"); else { printf("猜对了\n"); break; } } if(n<0) printf("猜错了,游戏结束\n"); printf("%d\n",temp); return 0;}测试结果: 已经测试过了,有问题可以继续追问。
static void Main(string[] args)
{
string i = null;
do
{
Console.Write("请输入一个整数(范围为1~100)\n如果要退出,请输入0!否则输入1!");
i = Console.ReadLine();
if (i.Trim().Equals("0"))
{
return;
}
} while (!i.Trim().Equals("1"));
start:
Random ra = new Random();
int rndInt = ra.Next(1, 100);
int input = 0;
do
{
Console.Write("输入你猜的数值:");
i = Console.ReadLine();
if (!int.TryParse(i, out input))
{
continue;
}
if (input > rndInt)
{
Console.Write("猜大了\n\n");
}
else if (input < rndInt)
{
Console.Write("猜小了\n\n");
}
} while (input != rndInt);
Console.Write("恭喜你,猜对了!\n\n");
do
{
Console.Write("若继续猜测输入Y,若退出则输入N!\n请输入:");
i = Console.ReadLine();
if (i.Trim().Equals("n", StringComparison.OrdinalIgnoreCase))
{
return;
}
if (i.Trim().Equals("y", StringComparison.OrdinalIgnoreCase))
{
goto start;
}
} while (!i.Trim().Equals("1"));
}
#include
#include
//#include
unsigned char Num[4] = {0},getNum[4] = {0x20,0x20,0x20,0x20};
void help(void)
{
char i =0,j = 0;
for(i =0;i<4;i++)
{
for(j = 0;j<4;j++)
if(Num[j] == getNum[i])
{
if(i==j)
printf("%dth is correct!\r\n",i);
else
{
printf("%d is a correct data\r\n",getNum[i]);
}
}
else
{
if(i == 3&&j==3)
{printf("/********************small game*****************/\
input 4 data gess the random data,input h can get help\
");}
}
}
}
void main( void )
{
int orginal = 0,getdata = 0,i = 0,j = 0;
// { int a;a = 878*101;cout<<a<<endl}
//first = 0,second = 0,third = 0,fourth = 0;
/* Seed the random-number generator with GetTickCount so that
the numbers will be different every time we run.
*/
srand( (unsigned)time( NULL ) );
orginal = rand();
Num[3] = orginal%10000/1000;
Num[2] = orginal%1000/100;
Num[1] = orginal%1000%100/10;
Num[0] = orginal%10;
// printf(" %d",orginal);
for(i = 0;i<4;)
{
for(j = i+1;j<4;j++)
{
if(Num[i]==Num[j])
{ Num[i]++;if(Num[i]>9) Num[i] = 0;i=0;break;}
}
if(j == 4)i++;
}
get: for(i = 0;i<4;)
{
printf("input Num %d ",i);
scanf("%s",&getNum[i]);
if(getNum[i]-0x30>9||getNum[i]-0x30<0)
{
if (getNum[i] == 'H'||getNum[i] =='h')
{
help();
}
else
printf("input one num\r\n");
//if(i>0)i--;
}
else
{
getNum[i] -=0x30;
for(j = 0;j<i;j++)
{
if(getNum[i] == getNum[j])
{printf("have a same data,please input another\r\n"); break;}
}
if(j==i)
i++;
}
}
printf("you input num %d%d%d%d Y or N?\r\n",getNum[0],getNum[1],getNum[2],getNum[3]);
do{
scanf("%c",&j);
printf("%c",j);
if((j == 'N') || (j == 'n'))goto get;
}while( !((j == 'Y') || (j == 'y')));
printf("over");
}
Option Explicit
Private Sub Command1_Click()
Dim Tar%, Tmp%, C%, Rsp$
Randomize
Tar = Int(Rnd * 100) + 1
Tmp = InputBox("猜猜是几?1~100 ", "Just Guess")
C = C + 1
Do While Tmp Tar
Select Case Tar - Tmp
Case Is > 0
Rsp = "小了! "
Case Is < 0
Rsp = "大了! "
End Select
Tmp = InputBox(Rsp, "Just Guess")
C = C + 1
Loop
MsgBox Tar & "! 终于猜对了!", , "猜测次数:" & C
End Sub
已经改正,如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void circle(int i)
{
int n ;
printf("请输入您所猜的数字(0-100) \n");
scanf("%d",&n);
if(i<n)
{
printf("the number is larger,input agine.\n");
circle(i);
}
if(i>n)
{
printf("the number is smaller.input agine \n");
circle(i);
}
if(i==n)//?不是
printf("the number is %d so congratulations!you got it!",i);
}
int main()
{
int flag =1;
printf("This is a small game,what you should do is just guess a intange number.\n");
printf("Now,please guess the number!\n");
srand((unsigned)time(NULL));
while(flag)
{
int i=rand()%100;//?使用 % 而不是 / ,产生的数字在0-100之间,放在循环体内,每次循环都产生一个随机数
circle(i);
printf("\n继续玩请输入 1,退出请输入 0");
scanf("%d",&flag);
}
getchar();
return 0;
}
# coding=utf8import randomMAXCOUNT = 10def run(num1, num2, count): if num1 == num2: print "恭喜你!猜中了!共猜了" + str(count) + "次!" return True elif num1 > num2: print "猜错了!数字更小些!还有" + str(MAXCOUNT - count) + "次机会!" else: print "猜错了!数字更大些!还有" + str(MAXCOUNT - count) + "次机会!" return Falsedef main(): print "********* 游戏开始 *********" print "** 1. 初级(数在0 ~ 9之间)" print "** 2. 中级(数在0 ~ 99之间)" print "** 3. 高级(数在0 ~ 999之间)" tp = raw_input('** 请选择游戏等级:').strip() if tp == "1": max_num = 9 elif tp == "2": max_num = 99 elif tp == "3": max_num = 999 else: print "输入错误!" return num = random.randint(0, max_num) print "随机数字已经产生,下面进入参数环节\n" for i in range(1, MAXCOUNT + 1): n = raw_input('** 请猜数:').strip() if not n.isdigit(): print "输入错误!" continue flag = run(int(n), num, i) if flag: break else: print "超过" + str(MAXCOUNT) + "次没有猜中,很遗憾!" print "\n********* 游戏结束 *********"if __name__ == "__main__": main() 很简单的逻辑 没写注释了 理一下应该就能清楚
#include int main(){ int n,g,d,t; n=156; printf("请输入一个数字:\n"); scanf("%d",&g); while(1) { if(gn) { d=g; printf("太大了,\n再输入一个数字:"); scanf("%d",&t); g=t; } if(g==n) { printf("你猜对了!就是156。\n"); break; } } return 0;}
本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“如何猜数游戏C语言程序设计?”